/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package pooproj.regra;

import java.util.ArrayList;
import pooproj.basica.LocMidia;
import pooproj.erro.AllgemeinException;
import pooproj.erro.ConexaoException;
import pooproj.erro.ConsultaException;
import pooproj.repositorio.RepositorioLocMidia;
import pooproj.repositorio.RepositorioLocMidiaImpl;

/**
 *
 * @author Daniella
 */
public class RNLocMidia {
    
    private RepositorioLocMidia rep;
    
    public RNLocMidia(){
        rep = new RepositorioLocMidiaImpl();
    }
    
    public void inserir(LocMidia lm) throws AllgemeinException {
        try {
            rep.inserir(lm);
        } catch (ConexaoException | ConsultaException e) {
            throw new AllgemeinException("database");
        } 
    }
    
    public void alterar(LocMidia lm) throws AllgemeinException {
        try {
            rep.alterar(lm);
        } catch (ConexaoException | ConsultaException e) {
            throw new AllgemeinException("database");
        } 
    }
    
    public void excluir(LocMidia lm) throws AllgemeinException {
        try {
            rep.excluir(lm);
        } catch (ConexaoException | ConsultaException e) {
            throw new AllgemeinException("database");
        } 
    }
    
    public LocMidia consultarCodLoc(int codLoc) throws AllgemeinException {
        LocMidia lm = null;
        try {
            lm = rep.consultarCodLoc(codLoc);
        } catch (ConexaoException | ConsultaException e) {
            throw new AllgemeinException("database");
        } 
        return lm;
    }
    
    public LocMidia consultarCodMidia(int CodMidia) throws AllgemeinException {
        LocMidia lm = null;
        try {
            lm = rep.consultarCodMidia(CodMidia);
        } catch (ConexaoException | ConsultaException e) {
            throw new AllgemeinException("database");
        } 
        return lm;
    }
    
    public ArrayList<LocMidia> listarCodMidia(int codMidia) throws AllgemeinException {
        ArrayList<LocMidia> lista = null;
        try {
            lista = rep.listarCodMidia(codMidia);
        } catch (ConexaoException | ConsultaException e) {
            throw new AllgemeinException("database");
        } 
        return lista;
    }
    
    public ArrayList<LocMidia> listar() throws AllgemeinException{
        ArrayList<LocMidia> lista = null;
        try{
            lista = rep.listar();
        } catch (ConexaoException | ConsultaException e){
            throw new AllgemeinException("database");
        }
        return lista;
    }
     
}
